<script>
  import store from '@/store'
  import { getAccessToken } from '@/utils/auth'
  import config from '@/config'
	import { Debounce } from "@/utils/ruoyi";
  import {
    versionGet
  } from "@/api/mine/index"
  import { compareVersion, getParam } from '@/utils/common'
  // #ifdef APP-PLUS
  import APPUpdate from '@/uni_modules/zhouWei-APPUpdate/js_sdk/appUpdate';
  // #endif
  import permision from "@/js_sdk/wa-permission/permission.js"
  export default {
    data(){
      return {
        isScan:false,
      }
    },
    onLaunch: function() {
      // #ifdef APP-PLUS
        APPUpdate();
      // #endif
      this.initApp()
      uni.onTabBarMidButtonTap(async()=>{
        if(this.isScan){
          return
        }
        var result = await permision.requestAndroidPermission('android.permission.CAMERA')
        if (result == 1) {
          this.isScan = true
          setTimeout(()=>{
            this.isScan = false
          }, 1000)
          uni.scanCode({
              success: function (res) {
                const result = res.result
                try {
                  if(result){
                    const IMIE = getParam(result, "deviceInfoId")
                    uni.navigateTo({
                    url: '/pages/devices/devices-add/devices-add?IMIE='+IMIE
                    })
                  } else {
                    uni.showToast({
                    icon:'error',
                    title:'请使用正确的二维码'
                    })
                  }
                  } catch(e) {
                  uni.showToast({
                    icon:'error',
                    title:'请使用正确的二维码'
                  })
                  }
              }
            });
        } else if (result == 0) {
          permision.gotoAppPermissionSetting()
        } else {
          permision.gotoAppPermissionSetting()
        }
      })
    },
    methods: {
      // 初始化应用
      initApp() {
        // 初始化应用配置
        this.initConfig()
        console.log('初始化app')
        this.mqttSync()
      },
      initConfig() {
        this.getDictMap()
        this.globalData.config = config
      },
      getDictMap() {
        if (getAccessToken() && !store.getters.isSetDict) {
          store.dispatch('GetDictMap')
        }
      },
      mqttSync() {
        store.dispatch('HandleSubscribeAlarm')
      },
      // appUpdate(){
      //   const {version:appInfoVersion,minio_url}= config.appInfo
      //     this.version = appInfoVersion
      //     versionGet().then(res => {
      //       console.log('%c [ res ]-74', 'font-size:13px; background:#014d0c; color:#459150;', res)
      //       const lastNetVersion = res.data.version
      //       if (compareVersion(lastNetVersion, this.version) !== 1) {
      //         uni.showModal({
      //           title: '提示',
      //           content: '发现新的应用安装包，点击确定立即更新',
      //           success: function (res) {
      //             if (res.confirm) {
      //               console.log('用户点击确定');
      //               uni.showLoading({
      //                 title: '更新中……'
      //               })
      //               uni.downloadFile({
      //                 // 存放最新安装包的地址
      //                 url: minio_url,
      //                 success: (downloadResult) => {
      //                   uni.hideLoading();
      //                   if (downloadResult.statusCode === 200) {
      //                     console.log('downloadResult>>',downloadResult)
      //                     uni.hideLoading();
      //                     plus.runtime.install(downloadResult.tempFilePath,{
      //                       force: false
      //                     }, function() {
      //                       console.log('install success...');
      //                       plus.runtime.restart();
      //                     }, function(e) {
      //                       uni.hideLoading();
      //                       console.error('install fail...',e);
      //                     });
      //                   }
      //                 }
      //               });
      //             } else if (res.cancel) {
      //               console.log('用户点击取消');
      //             }
      //           }
      //         });
      //       } else {
      //       }
      //     });
      // }
    }
  }
</script>

<style lang="scss">
  @import '@/static/scss/index.scss'
</style>
